import UIKit

@available(iOS 5.1, *)
extension QKC where AA :UIDictationPhrase {
    open func text_qk_g() -> QKC<AA,YY,ZZ, String >{
		 self +^ self.value.text
	}

    open func alternativeInterpretations_qk_g() -> QKC<AA,YY,ZZ, [String]? >{
		 self +^ self.value.alternativeInterpretations
	}

}

@available(iOS 9.0, *)
extension QKC where AA :UITextInputAssistantItem {
	/// Default is YES, controls if the user is allowed to hide the shortcuts bar. Does not influence the built in auto-hiding logic.
    open func allowsHidingShortcuts_qk_s(_ allowsHidingShortcuts:  Bool) -> QKC<AA,YY,ZZ, Bool>{
		return link(next: allowsHidingShortcuts).then_QK { $0.value.allowsHidingShortcuts = allowsHidingShortcuts }
	}
    open func allowsHidingShortcuts_qk_g() -> QKC<AA,YY,ZZ, Bool>{
		 self +^ self.value.allowsHidingShortcuts
	}

	/// Contains UIBarButtonItemGroups that should be displayed in the leading position on the keyboard's assistant bar.
    open func leadingBarButtonGroups_qk_s(_ leadingBarButtonGroups:  [UIBarButtonItemGroup]) -> QKC<AA,YY,ZZ, [UIBarButtonItemGroup]>{
		return link(next: leadingBarButtonGroups).then_QK { $0.value.leadingBarButtonGroups = leadingBarButtonGroups }
	}
    open func leadingBarButtonGroups_qk_g() -> QKC<AA,YY,ZZ, [UIBarButtonItemGroup]>{
		 self +^ self.value.leadingBarButtonGroups
	}

	/// Contains UIBarButtonItemGroups that should be displayed in the trailing position on the keyboard's assistant bar.
    open func trailingBarButtonGroups_qk_s(_ trailingBarButtonGroups:  [UIBarButtonItemGroup]) -> QKC<AA,YY,ZZ, [UIBarButtonItemGroup]>{
		return link(next: trailingBarButtonGroups).then_QK { $0.value.trailingBarButtonGroups = trailingBarButtonGroups }
	}
    open func trailingBarButtonGroups_qk_g() -> QKC<AA,YY,ZZ, [UIBarButtonItemGroup]>{
		 self +^ self.value.trailingBarButtonGroups
	}

}

@available(iOS 13.0, *)
extension QKC where AA :UITextPlaceholder {
	// Return the rects of the placeholder
    open func rects_qk_g() -> QKC<AA,YY,ZZ, [UITextSelectionRect] >{
		 self +^ self.value.rects
	}

}

@available(iOS 3.2, *)
extension QKC where AA :UITextRange {
		//  Whether the range is zero-length.
    open func isEmpty_qk_g() -> QKC<AA,YY,ZZ, Bool >{
		 self +^ self.value.isEmpty
	}

    open func start_qk_g() -> QKC<AA,YY,ZZ, UITextPosition >{
		 self +^ self.value.start
	}

    open func end_qk_g() -> QKC<AA,YY,ZZ, UITextPosition >{
		 self +^ self.value.end
	}

}

@available(iOS 6.0, *)
extension QKC where AA :UITextSelectionRect {
    open func rect_qk_g() -> QKC<AA,YY,ZZ, CGRect >{
		 self +^ self.value.rect
	}

    open func writingDirection_qk_g() -> QKC<AA,YY,ZZ, NSWritingDirection >{
		 self +^ self.value.writingDirection
	}

		// Returns YES if the rect contains the start of the selection.
    open func containsStart_qk_g() -> QKC<AA,YY,ZZ, Bool >{
		 self +^ self.value.containsStart
	}

		// Returns YES if the rect contains the end of the selection.
    open func containsEnd_qk_g() -> QKC<AA,YY,ZZ, Bool >{
		 self +^ self.value.containsEnd
	}

		// Returns YES if the rect is for vertically oriented text.
    open func isVertical_qk_g() -> QKC<AA,YY,ZZ, Bool >{
		 self +^ self.value.isVertical
	}

}

@available(iOS 4.2, *)
extension QKC where AA :UITextInputMode {
		// The primary language, if any, of the input mode.  A BCP 47 language identifier such as en-US
    open func primaryLanguage_qk_g() -> QKC<AA,YY,ZZ, String? >{
		 self +^ self.value.primaryLanguage
	}

}

